package bishiqiangxunday20;

import java.util.Scanner;

public class Test3 {
    //题目: 非对称之美  -> 给一个字符串  输出非回文字符串的最大长度  笔试强训 day20 第三题
    //双指针
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        char[] cs = in.next().toCharArray();
        int n = cs.length;

        //先搞一下字符数组 里面的元素是否相同
        boolean var = false;
        for(int i = 1; i < n; i++) {
            if(cs[i] != cs[i-1]) {
                var = true;
                break;
            }
        }

        if(var == true) {
            var = false;
            //定义两个指针
            int left = 0;
            int right = n-1;

            //开始遍历 缩短字符串
            while(left < right) {
                if(cs[left] == cs[right]) {
                    left++;
                    right--;
                }else {
                    var = true;
                    break;  //退出循环
                }
            }
            //指针遍历结束 如果  var 是true   说明该字符串不是回文的
            if(var == true) {
                System.out.println(n);
            }else{
                //说明是回文字符串  最长的非回文  就是  去除一个元素 就行
                System.out.println(n-1);
            }
        }else{
            //到这里说明  字符串的字符都是相同的  无论如何都是回文字符串
            System.out.println(0);
        }


    }
}
